// pages/auth/auth.js
const app = getApp();
const api = require("../../api/index.js");
const util = require('../../utils/util.js')
let isLoading = false;
Page({
  /**
   * 页面的初始数据
   */
  data: {},

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {},

  getPhoneNumber(e) {
    if (isLoading) return;
    isLoading = true;
    wx.showLoading({
      title: "正在授权",
    });

    wx.login({
      success(res) {
        console.log("🚀 ~ success ~ res:", res, e);
        if (res.code) {
          api
            .wxauthphone({
              login_code: res.code,
              phone_code: e.detail.code,
            })
            .then((r) => {
              wx.redirectTo({
                url: "/pages/index/index",
              });
              // wx.hideLoading({
              //   success: (res) => {},
              // })
            })
            .catch(() => {
              // wx.hideLoading({
              //   success: (res) => {},
              // })
            })
            .finally(() => {
              isLoading = false;
            });
        }
      },
    });
  },

  scanCode(){
    wx.scanCode({  
      success: (ress) => {  
        const holderid = util.getUrlParams(ress.result, 'holderid');
        console.log(holderid, ress.result)
        if(holderid) {
          wx.login({
            success(res) {
              if (res.code) {
                console.log(res.code)
                //发起网络请求
                api.wxregister({
                  code: res.code,
                  holderid: +holderid
                }).then((res) => {
                  console.log(res)
                  if (res) {
                    const {openid} = res
                    app.setOpenid(openid);
                    // self.setData({
                    //   url: `${viewUrl}/index.html#/wxlogin/index?openid=${openid}&time=${new Date().getTime()}&page=${options.page}`
                    // })
                    wx.navigateTo({
                      url: '/pages/index/index'
                    })
                  }else {
                    wx.navigateTo({
                      url: '/pages/auth/auth'
                    })
                  }
                })
      
              } else {
                console.log('登录失败！' + res.errMsg)
              }
            }
          })
        }
        // 扫码结果  
        // 根据扫码结果进行后续处理  
        // 例如，使用wx.navigateTo跳转到新的页面，并传递扫码结果作为参数  
        // wx.navigateTo({  
        //   url: '/path/to/page?scanResult=' + encodeURIComponent(res.result)  
        // })  
      },  
      fail: (err) => {  
        console.error(err);  
        // 处理扫码失败的情况  
        wx.showToast({  
          title: '扫码失败',  
          icon: 'none'  
        });  
      }  
    })
  },

  onAuth() {
    // if(isLoading) return
    // isLoading = true
    // wx.showLoading({
    //   title: '正在登录',
    // })
    // api.wxauth({openid: app.globalData.openid}).then(()=>{
    //   wx.redirectTo({
    //     url: '/pages/index/index',
    //   })
    // }).catch(()=>{
    // }).finally(()=>{
    //   wx.hideLoading({
    //     success: (res) => {},
    //   })
    // })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {},

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {},

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {},

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {},

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {},

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});
